package com.xiyu.service.convert.bed;

import com.xiyu.service.vo.bed.bedInfo.BedInfoPageQueryOutput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoGetByRoomIdOutput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoListQueryBedTypeOutput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoSingleGetRoomTypeOutput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoSingleGetBedTypeOutput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoRoomUpdateInput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoRoomCreateInput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoBedTypeUpdateInput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoBedTypeCreateInput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoBedTypeQueryOutput;
import com.xiyu.service.model.bed.bed.BedType;
import com.xiyu.service.vo.bed.bedInfo.BedInfoRoomTypeUpdateInput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoRoomTypeCreateInput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoListQueryRoomTypeOutput;
import com.xiyu.service.model.bed.room.RoomType;
import com.xiyu.service.vo.bed.bedInfo.BedInfoRoomTypeQueryOutput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoGetBedOutput;
import com.xiyu.service.model.bed.bed.BedInfo;
import com.xiyu.service.vo.bed.bedInfo.BedInfoGetRoomOutput;
import com.xiyu.service.vo.bed.bedInfo.BedInfoRoomQueryOutput;
import com.xiyu.service.model.bed.room.RoomInfo;
import java.util.*;

import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import org.babyfish.jimmer.Page;

/**
 * 床位信息 Convert
 */
@Mapper
public interface BedInfoConvert {
    BedInfoConvert INSTANCE = Mappers.getMapper(BedInfoConvert.class);


    List<BedInfoRoomQueryOutput> roomQueryPageOutputConvert(List<RoomInfo> output);

    BedInfoGetRoomOutput getRoomOutputConvert(RoomInfo output);

    BedInfoGetBedOutput getBedOutputConvert(BedInfo output);

    List<BedInfoRoomTypeQueryOutput> roomTypeQueryPageOutputConvert(List<RoomType> output);

    RoomType roomTypeCreateInputConvert(BedInfoRoomTypeCreateInput input);

    RoomType roomTypeUpdateInputConvert(BedInfoRoomTypeUpdateInput input);

    List<BedInfoBedTypeQueryOutput> bedTypeQueryPageOutputConvert(List<BedType> output);

    BedType bedTypeCreateInputConvert(BedInfoBedTypeCreateInput input);

    BedType bedTypeUpdateInputConvert(BedInfoBedTypeUpdateInput input);

    RoomInfo roomCreateInputConvert(BedInfoRoomCreateInput input);

    RoomInfo roomUpdateInputConvert(BedInfoRoomUpdateInput input);

    BedInfo roomUpdateBedInputConvert(BedInfoRoomUpdateInput.bed input);

    BedInfoSingleGetBedTypeOutput singleGetBedTypeOutputConvert(BedType output);

    BedInfoSingleGetRoomTypeOutput singleGetRoomTypeOutputConvert(RoomType output);

    List<BedInfoListQueryBedTypeOutput> listQueryBedTypeOutputConvert(List<BedType> output);

    List<BedInfoListQueryRoomTypeOutput> listQueryRoomTypeOutputConvert(List<RoomType> output);

    List<BedInfoGetByRoomIdOutput> getByRoomIdOutputConvert(List<BedInfo> output);

    List<BedInfoPageQueryOutput> pageQueryOutputConvert(List<BedInfo> output);

    List<BedInfoRoomQueryOutput> roomQueryOutputConvert(List<RoomInfo> output);

}
